Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-AST-002 |
| Deskripsi | Rincian aset: menampilkan aset non-produktif, produktif, dan peternakan beserta nilai perolehan / penyusutan, serta membuat invoice penyusutan massal per periode |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User dapat melihat rincian aset dalam tiga tab: aset non-produktif, aset produktif, dan aset peternakan
- User dapat mencari nama aset dan memfilter tanggal perolehan serta master aset
- User dapat mengatur kolom tabel yang ditampilkan dan mengunduh data
- User dapat melihat detail penyusutan per aset
- User dapat menambah aset non-produktif lewat alur pembelian aset (dari menu rincian aset)
- User dapat menambah aset produktif (manufaktur) atau peternakan (petelur) sesuai hak akses
- User dapat membuat penyusutan massal: pilih periode, tampilkan aset belum tersusutkan, centang, lalu buat penyusutan
- User dapat membuka arsip mesin terkait rincian aset
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan tab aset non-produktif dengan kolom nama, kategori, tanggal perolehan, harga perolehan, akumulasi penyusutan, nilai aset, qty awal, sisa qty, dan detail penyusutan |
| FR-02 | Sistem menampilkan tab aset produktif dengan kolom qty rusak/terjual, cabang, hasil produksi, serta nilai perolehan / penyusutan |
| FR-03 | Sistem menampilkan tab aset peternakan dengan kolom produktivitas ternak, tanggal penetasan, tanggal produksi, qty mati/terjual, serta nilai perolehan / penyusutan |
| FR-04 | User dapat mencari nama aset dan memfilter tanggal perolehan serta master aset |
| FR-05 | User dapat melihat detail penyusutan aset |
| FR-06 | User dapat menambah aset non-produktif lewat pembelian aset, serta produktif/peternakan lewat form mesin sesuai permission |
| FR-07 | User dapat membuat penyusutan massal untuk aset yang belum tersusutkan pada rentang periode |
| FR-08 | User dapat mengunduh data rincian aset dan membuka arsip |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan memfilter rincian aset per tab |
| UC-02 | Melihat detail penyusutan aset |
| UC-03 | Menambah rincian aset non-produktif |
| UC-04 | Menambah rincian aset produktif atau peternakan |
| UC-05 | Membuat penyusutan massal |
| UC-06 | Mengunduh data rincian aset |
4. Use Case Scenario
UC-01 : Melihat dan memfilter rincian aset per tab
| Aktor | User brand dengan hak #mesin / #mesin-peternakan |
| Deskripsi | User melihat daftar rincian aset sesuai jenis tab |
| Prekondisi | User sudah login dan membuka brand |
| Alur utama | 1. User membuka menu Master, Aset, Rincian Aset. 2. Sistem menampilkan tab Non-Produktif, Produktif, Peternakan. 3. User mencari nama, filter tanggal perolehan / aset, atau mengatur kolom tabel. 4. Sistem memuat ulang daftar sesuai tab aktif. |
| Alur negatif | - Jika gagal memuat, daftar kosong per tab. |
| Bisnis rule | - Non-produktif memakai guna: admin,bangunan.- Produktif memakai guna: produksi.- Peternakan memakai guna: peternakan.- Double-click nama aset membuka mode ubah nama (butuh hak #aset basic); rename memanggil mesin/update.- Halaman rincian-aset/edit/:idx kosong (belum diimplementasi).- Arsip rincian aset memuat mesin nonaktif; navigasi kembali mengarah ke /mesin. |
| Postkondisi | Daftar rincian aset tampil |
| Trigger | User membuka Rincian Aset |
| Kode FR | FR-01 FR-02 FR-03 FR-04 |
UC-02 : Melihat detail penyusutan aset
| Aktor | User brand |
| Deskripsi | User melihat rincian penyusutan satu aset |
| Prekondisi | Baris rincian aset tersedia |
| Alur utama | 1. User klik Lihat pada kolom detail penyusutan. 2. Sistem memuat master aset terkait dan menampilkan modal detail penyusutan. |
| Alur negatif | - Jika gagal memuat, muncul pesan error dari server. |
| Bisnis rule | - |
| Postkondisi | Detail penyusutan tampil |
| Trigger | User klik Lihat detail penyusutan |
| Kode FR | FR-05 |
UC-03 : Menambah rincian aset non-produktif
| Aktor | User brand dengan hak basic #mesin |
| Deskripsi | User menambah aset non-produktif dari halaman rincian aset |
| Prekondisi | Master aset tersedia |
| Alur utama | 1. User pilih Buat Invoice, Aset Non-Produktif. 2. Sistem mengarahkan ke form tambah pembelian aset dengan konteks kembali ke rincian aset. 3. User mengisi dan menyimpan invoice pembelian aset. |
| Alur negatif | - Jika tanpa hak basic, opsi menu tidak tampil. - Jika simpan gagal di pembelian aset, muncul pesan error dari server. |
| Bisnis rule | - Menu Non-Produktif membuka /pembelian-aset/tambah?prev=rincian-aset (bukan form di folder rincian-aset).- Daftar tab Non-Produktif memuat GET /aset-masuk dengan guna: admin,bangunan. |
| Postkondisi | Aset non-produktif masuk daftar rincian |
| Trigger | User simpan di form pembelian aset |
| Kode FR | FR-06 |
UC-04 : Menambah rincian aset produktif atau peternakan
| Aktor | User brand dengan hak #mesin-peternakan |
| Deskripsi | User menambah aset produktif (manufaktur) atau peternakan (petelur) |
| Prekondisi | Permission mesin peternakan aktif |
| Alur utama | 1. User pilih Buat Invoice, Aset Produktif atau Aset Peternakan. 2. Sistem membuka form peternakan dengan query jenis_mesin=Manufaktur atau Petelur.3. User mengisi data dan menyimpan. |
| Alur negatif | - Jika tanpa permission, opsi menu tidak tampil. - Jika simpan gagal, muncul pesan error dari server. |
| Bisnis rule | - Produktif: query jenis_mesin=Manufaktur.- Peternakan: query jenis_mesin=Petelur.- Daftar produktif/peternakan memakai GET /aset-masuk dengan guna produksi/peternakan. |
| Postkondisi | Rincian aset produktif / peternakan tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-06 |
UC-05 : Membuat penyusutan massal
| Aktor | User brand dengan hak #pembelian-aset atau #pembelian-import |
| Deskripsi | User membuat invoice penyusutan untuk banyak aset sekaligus |
| Prekondisi | Ada aset yang belum tersusutkan pada periode |
| Alur utama | 1. User pilih Buat Invoice, Penyusutan Massal. 2. User memilih rentang bulan. 3. User klik "Penyusutan Belum Dibuat". 4. Sistem menampilkan aset belum tersusutkan (nomor inventaris, nama, periode, nominal beli, % susut, nilai penyusutan, kategori). 5. User mencentang aset, klik Buat Penyusutan. 6. Sistem menampilkan "Berhasil buat Penyusutan aset". |
| Alur negatif | - Jika periode kosong, muncul "Tanggal Harus Diisi". - Jika belum memilih aset, muncul "Silahkan Pilih Penyusutan terlebih dahulu". - Jika semua sudah tersusutkan, tabel kosong dengan pesan semua aset telah tersusutkan. |
| Bisnis rule | - Status dicek lewat GET /penyusutan/status dengan rincian_aset: true.- Create memakai daftar aset terpilih + id_penyusutans. |
| Postkondisi | Penyusutan massal tersimpan |
| Trigger | User klik Buat Penyusutan |
| Kode FR | FR-07 |
UC-06 : Mengunduh data rincian aset
| Aktor | User brand |
| Deskripsi | User mengunduh file rincian aset |
| Prekondisi | Data rincian aset tersedia |
| Alur utama | 1. User klik Unduh File. 2. Sistem menghasilkan file Excel dari data tab aktif. |
| Alur negatif | - Jika data kosong, unduhan tidak bermakna / kosong. |
| Bisnis rule | - Generate di FE (ExcelJS). |
| Postkondisi | File unduhan tersedia |
| Trigger | User klik Unduh File |
| Kode FR | FR-08 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan memfilter rincian aset per tab
SD-02 — UC-02 : Melihat detail penyusutan aset
SD-03 — UC-03 : Menambah rincian aset non-produktif
SD-04 — UC-04 : Menambah rincian aset produktif atau peternakan
SD-05 — UC-05 : Membuat penyusutan massal
SD-06 — UC-06 : Mengunduh data rincian aset
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /aset-masuk | existing | - |
GET /aset-masuk/:id | existing | - |
POST /aset-masuk | existing | - |
POST /aset-masuk/sync-amr | existing | - |
PUT /aset-masuk/:id | existing | - |
DELETE /aset-masuk/:id | existing | - |
GET /penyusutan/status | existing | - |
POST /penyusutan | existing | - |
POST /penyusutan/jurnal-umum | existing | - |
GET /aset/:id | existing | - |
GET /mesin | existing | - |
POST /mesin | existing | - |
POST /mesin/bulk | existing | - |
POST /mesin/bulk-update | existing | - |
PUT /mesin/:id | existing | - |
GET /mesin/asal-mesin | existing | - |
GET /rekening | existing | - |
| Endpoint pembelian aset (dari UC-03) | existing | - |